home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
bbsutils
/
smb_110a.arj
/
SMB.HST
< prev
next >
Wrap
Text File
|
1994-03-28
|
5KB
|
105 lines
Synchronet Message Base Specification Modification History
==========================================================
******************************
01/20/94 Initial Release v1.00
******************************
Quite a few spelling errors in SMB.TXT corrected.
Estimated maximum number of messages (in Introduction of SMB.TXT) formula
corrected (1500 rounded to nearest 256 is 1536, not 2048).
Pages 32 and 38 (SENDEREXT and RECIPIENTEXT header field types) incorrectly
stated the index record contains CRC-32s, when in fact the index contains
CRC-16s of the agent names or extensions.
FORWARDTO header field types incorrectly stated they were for replies, rather
than forwarding instructions.
Trigger header field types incorrectly stated they were "attachments" rather
than triggers.
Bug fixed in smb_open() function in smblib.c: was allocating buffer via
setvbuf for wrong file pointer when opening header file. Caused loss of
memory (2k) everytime smb_open() was called.
Bug fixed in smb_getmsghdr() function in smblib.c: msg->from_agent,to_agent,
and replyto_agent were not initialized properly.
Added from_ext, to_ext, and replyto_ext fields to msg struct. Initialized
with call to smb_getmsghdr() function. These are convenience pointers for
the to, from, and replyto agent extensions (user numbers, usually).
Fixed a nasty bug in the smb_freemsgdat() function, causing odd values in the
SDA file and cross-linked messages when fast allocation mode was not used for
new messages.
smb_putmsghdr() function replaced by smb_putmsg() and it calls smb_putmsghdr()
and smb_putmsgidx() - previously smb_putmsghdr() actually wrote the header
and the index. So you must change any occurances of smb_putmsghdr() to
smb_putmsg() if you intend to write to both the index and header records.
smb_open() now takes a "retry_time" parameter (number of seconds) to lock
and read the message base header and verify the "id" and "version". Added
new error codes: -1 indicates failure to lock message base header, -2 indicates
id mismatch, and -3 indicates incompatible message base version.
rewind() and clearerr() calls added to library functions to eliminate the
problem of "sticky" error flags when using fread() and fwrite(). Reordered
the use of chsize() to force seeking (with fseek()) before using the file
descriptor operation (chsize()) would would fail under some circumstances.
smb_getmsgidx() function now uses "fast" message number look-up algorythm.
Added smb_getlastidx() function to retrieve the last index in the message
base.
Allocation strategy for hfield and dfield elements of the smbmsg_t structure
were changed to require less memory. Rather than an array of pointers (pointer
to a pointer) of type hfield_t or dfield_t, they are simply an array (pointer)
of type hfield_t or dfield_t. The only change you need to make are any
references to "smbmsg_t.hfield[x]->etc" to "smbmsg_t.hfield[x].etc".
Added several new error codes to smb_getmsghdr(). -7 indicates missing one
of the three mandatory header fields (sender, recipient, or subject). -8
indicates that total_dfields element of smbhdr_t is incorrect (extends beyond
smbhdr_t.length). -9 indicates incompatible header version.
New error code to smb_addcrc(), -4 indicates error getting length of file.
smb_putmsghdr() returns -2 on failure write header, -3 on failure to write
dfield, -4 on failure to write hfield (fixed), -5 on failure to write hfield
(data), and -6 on failure to pad record with NULLs.
Bugs fixed in sample conversion source code and SMBUTIL: Overwriting first
two bytes of next record when using self-packing storage, SBBSFIDO would
crash on blank kludge lines, SEEN-BYs weren't converted properly by SBBSFIDO,
and more.
*** IMPORTANT ***
Index format changed, added message time field to idxrec_t for fast pointer
manipulation by (import) date/time stamp. This is SMB format v1.10 and is
not compatible with the v1.00 format. A conversion program (100TO110.EXE)
is included with source code for converted any existing message bases.
CHKSMB, a utility for checking message bases for corruption, included with
SMBLIB.
SMBUTIL and CHKSMB both accept wildcard arguments for processing multiple
message bases.
idxrec_t.to and idxrec_t.from may contain USER NUMBER instead of CRC of user
names. This implementation is currently specific to E-mail boxes on Synchronet
BBS. E-mail from non-local users are stored with a "from" field of 0.
**********************
03/28/94 Release v1.10
**********************
Forgot to include this file (oops).
***********************
03/28/94 Release v1.10a
***********************